gdt_start:
    dd 0
    dd 0

gdt_code:
    dw 0xffff ; 段长度 0-15
    dw 0x0000 ; 段基址 0-15
    db 0x00   ; 段基址 16-23
    db 10011010b   ; 标识位
    db 11001111b   ; 标识位（4位，段长度的单位是4k页）段长度16-19
    db 0x00   ; 段基址 24-31

gdt_data:
    dw 0xffff ; 段长度 0-15
    dw 0x0000 ; 段基址 0-15
    db 0x00   ; 段基址 16-23
    db 10010010b   ; 标识位
    db 11001111b   ; 标识位（4位，段长度的单位是4k页）段长度16-19
    db 0x00   ; 段基址 24-31

gdt_end:

gdt_descriptor:
    dw gdt_end - gdt_start
    dd gdt_start

; 代码段和数据段的偏移 用来设置段寄存器
CODE_SEG equ gdt_code - gdt_start
DATA_SEG equ gdt_data - gdt_start